// 接口内静态私有方法的最大用处 : 将那些接口内函数常用的、重复性的数据抽离出来，简化代码
//静态(成员变量/成员方法)只能访问静态(成员变量/成员方法)，
//     非静态(成员变量/成员方法)既可以访问静态(成员变量/成员方法)也可以访问非静态(成员变量/成员方法)


public class PrivateStaticFuncDemo {
    public static void main(String[] args) {
        Inter instance = new Impl1();
        instance.show1();
        System.out.println("--------");
        Inter.show2();
    }
}

class Impl1 implements Inter{
   //由于没有抽象方法，无需重写
}

interface Inter{

    //这里公共部分代码如果用静态方法编写，则只有show2才能调用。用静态私有方法则都能调用
    private static void show(){
        System.out.println("morning...");
        System.out.println("afternoon...");
        System.out.println("evening...");
    }
    default void show1(){
        System.out.println("first day start...");
        show();
        System.out.println("first day end...");
    }
    static void show2(){
        System.out.println("second day start...");
        show();
        System.out.println("second day end...");
    }

}